package db

type (
	PicMysql struct {
		ID           int64  `xorm:"pk autoincr id"`                  //
		OriginName   string `xorm:"varchar(25) notnull origin_name"` // 用户上传图片名
		Name         string `xorm:"varchar(25) notnull name"`        // 图片名
		Width        int    `xorm:"int(11) notnull width"`           //
		Height       int    `xorm:"int(11) notnull height"`          //
		Comment      string `xorm:"varchar(25) notnull comment"`     // 评论
		AuthorName   string `xorm:"varchar(25) notnull author_name"` // 作者
		AuthorUID    int64  `xorm:"int(11) notnull author_uid"`      // 作者uid
		UploadId     int64  `xorm:"int(11) notnull upload_id"`       // 作者图片唯一标识
		UploadAtUnix int64  `xorm:"int(11) notnull upload_at_unix"`  // 作者图片上传时间
	}

	PicOriginalMysql struct {
		ID           int64  `xorm:"pk autoincr id"`                  //
		OriginName   string `xorm:"varchar(25) notnull origin_name"` // 用户上传图片名
		Name         string `xorm:"varchar(25) notnull name"`        // 图片名
		Width        int    `xorm:"int(11) notnull width"`           //
		Height       int    `xorm:"int(11) notnull height"`          //
		Comment      string `xorm:"varchar(25) notnull comment"`     // 评论
		AuthorName   string `xorm:"varchar(25) notnull author_name"` // 作者
		AuthorUID    int64  `xorm:"int(11) notnull author_uid"`      // 作者uid
		UploadId     int64  `xorm:"int(11) notnull upload_id"`       // 作者图片唯一标识
		UploadAtUnix int64  `xorm:"int(11) notnull upload_at_unix"`  // 作者图片上传时间
	}

	PicLoveMysql struct {
		ID           int64  `xorm:"pk autoincr id"`                  //
		OriginName   string `xorm:"varchar(25) notnull origin_name"` // 用户上传图片名
		Name         string `xorm:"varchar(25) notnull name"`        // 图片名
		Width        int    `xorm:"int(11) notnull width"`           //
		Height       int    `xorm:"int(11) notnull height"`          //
		Comment      string `xorm:"varchar(25) notnull comment"`     // 评论
		AuthorName   string `xorm:"varchar(25) notnull author_name"` // 作者
		AuthorUID    int64  `xorm:"int(11) notnull author_uid"`      // 作者uid
		UploadId     int64  `xorm:"int(11) notnull upload_id"`       // 作者图片唯一标识
		UploadAtUnix int64  `xorm:"int(11) notnull upload_at_unix"`  // 作者图片上传时间
	}

	// 备胎图片
	PicConsiderMysql struct {
		ID           int64  `xorm:"pk autoincr id"`                  //
		OriginName   string `xorm:"varchar(25) notnull origin_name"` // 用户上传图片名
		Name         string `xorm:"varchar(25) notnull name"`        // 图片名
		Width        int    `xorm:"int(11) notnull width"`           //
		Height       int    `xorm:"int(11) notnull height"`          //
		Comment      string `xorm:"varchar(25) notnull comment"`     // 评论
		AuthorName   string `xorm:"varchar(25) notnull author_name"` // 作者
		AuthorUID    int64  `xorm:"int(11) notnull author_uid"`      // 作者uid
		UploadId     int64  `xorm:"int(11) notnull upload_id"`       // 作者图片唯一标识
		UploadAtUnix int64  `xorm:"int(11) notnull upload_at_unix"`  // 作者图片上传时间
	}

	// 上线图片, 字段就算经常改动也没关系，因为mysql是异步操作，没有压力
	PicOnline struct {
		ID                int64  `json:"id"  xorm:"id pk autoincr id"`                             //
		OriginName        string `json:"originName"  xorm:"originName varchar(25) "`               // 用户上传图片名
		Name              string `json:"name"  xorm:"name varchar(25) "`                           // 图片名
		Comment           string `json:"comment"  xorm:"comment varchar(25) "`                     // 评论
		AuthorName        string `json:"authorName"  xorm:"authorName varchar(25) "`               // 作者
		AuthorUID         int64  `json:"authorUID"  xorm:"authorUID int(11) "`                     // 作者uid
		UploadId          int64  `json:"upload_id" xorm:"int(11) notnull upload_id"`               // 作者图片唯一标识
		UploadAtUnix      int64  `json:"upload_at_unix" xorm:"int(11) notnull upload_at_unix"`     // 作者图片上传时间
		Online            bool   `json:"online"  xorm:"online tinyint  online default(0)"`         // 是否上线
		Love              int    `json:"love"  xorm:"love int(11) "`                               // 点赞数
		JigsawName        string `json:"jigsawName"  xorm:"jigsawName varchar(25) "`               // 配置数据 拼图名字
		DragonBonesName   string `json:"dragonBonesName"  xorm:"dragonBonesName varchar(25) "`     // 配置数据 龙骨动画名字
		JigsawSizeId      int    `json:"jigsawSizeId"  xorm:"jigsawSizeId int(11) "`               // 配置数据 拼图规格大小 1，2，3 默认2
		JigsawListId      int    `json:"jigsawListId"  xorm:"jigsawListId int(11) "`               // 配置数据 拼图ID 没有用到
		ListIndexId       int    `json:"listIndexId"  xorm:"listIndexId int(11) "`                 // 配置数据 排序ID 没有用到
		IsRotate          bool   `json:"isRotate"  xorm:"isRotate tinyint(25) default(0) "`        // 配置数据 是否可旋转 默认true
		IsShow            bool   `json:"isShow"  xorm:"isShow tinyint(25) default(0) "`            // 配置数据 是否展示 没有用到
		FixedNum          int    `json:"fixedNum"  xorm:"fixedNum int(11) "`                       // 配置数据 固定所需数量 6，7，8 默认7
		StartNum          int    `json:"startNum"  xorm:"startNum int(11) "`                       // 配置数据 没有用到
		GoldNum           int    `json:"goldNum"  xorm:"goldNum int(11) "`                         // 配置数据 默认3
		MiniIntro         string `json:"miniIntro"  xorm:"miniIntro varchar(25) "`                 // 配置数据
		Water             int    `json:"water"  xorm:"water int(11) "`                             // 配置数据 2，3，4 默认3
		MusicName         string `json:"musicName"  xorm:"musicName varchar(25) "`                 // 配置数据
		ShareImgName      string `json:"shareImgName"  xorm:"shareImgName varchar(25) "`           // 配置数据
		AnimateFullScreen string `json:"animateFullScreen"  xorm:"animateFullScreen varchar(25) "` // 配置数据
		CreateTime        int64  `json:"createTime"  xorm:"createTime int(11) "`                   // 配置数据
		Animate           string `json:"animate"  xorm:"animate varchar(25) "`                     // 配置数据
	}
)

const (
	PicOriginalTable = "picture_original"
	PicConsiderTable = "picture_consider"
	PicLoveTable     = "picture_love"
	PicOnlineTable   = "picture_online"
)

func (PicOriginalMysql) TableName() string {
	return PicOriginalTable
}

func (PicConsiderMysql) TableName() string {
	return PicConsiderTable
}

func (PicLoveMysql) TableName() string {
	return PicLoveTable
}

func (PicOnline) TableName() string {
	return PicOnlineTable
}
